http://www.gamefaqs.com/boards/918914-final-fantasy-x-2-international-last-mission/63087357/716087190

it's actually pretty easy to do if you know all this stuff...,
- extract "iso_header" from sector 1-280 (offset = 0x0, size = 573440 bytes)
- extract "cdrom.mdg" from sector 280-344 (offset = 0x8C000, size = 131072 bytes)
- extract "cdrom.fid" from sector 344-345 (offset = 0xAC000, size = 130 bytes)
- extract "sizetbl.bin" (it's file with id 15 in cdrom.mdg)
- use information from these files to un/repack iso, files start at 0xAC800

cdrom.mdg format // file sector table
4 Byte = data, you need to read it bit-wise:
- 22 bit = sector // sector * 0x800 = offset
- 2 bit = flag // 0x1 = compressed, 0x2 = dummy
- 8 bit = value // value * 8 = the "0x00 byte" size at end of file (aligned to 8)

cdrom.fid format: // file folder table, you don't need this for un/repack
2 byte = folder start id

sizetbl.bin format:
3 byte = value // value * 8 = size (without 0x00 bytes, aligned to 8)

But this doesn't solve your problems, the text files have a fixed size in ram, if they are to big you overwrite other stuff in ram (i tried translating FFX2+LM years ago, but never finished because of this problem)

PS: file 422 is the font (some strange 4 bit image file)






    For the latter, it looks like all the kanji have to be typed out for text extraction/reinsertion since they don't follow any standardized order in the game.



see file 427, it contains all japanese (shift-jis) letters from 2C30 - 2CFF, 2D30 - 2DFF, 2E30 - 2EFF, 2F30 - 2FDD, the rest is easy to figure out

00 = end line
03 = new line
07XX = make space
0B30-40 = Buttons
0B80-89 = Symbols (Garmend Grid, Ability)
12XX = insert name/item/...
1330-46 = names (file 12793)
30 - FF = other japanese letters